//
// Created by csy on 2023/5/25.
//
#include <iostream>
#include <math.h>
#include "Config/TutorialConfig.h"

#ifdef USE_MYMATH
#  include "Tutorial/MathFunctions/src/MathFunctions.h"
#endif


using namespace std;

int step_1(int argc, char **argv) {
    if (argc < 2) {
        // 打印版本号
        std::cout << argv[0] << " Version " << Tutorial_VERSION_MAJOR << "."
                  << Tutorial_VERSION_MINOR << std::endl;
        std::cout << "Usage: " << argv[0] << " number" << std::endl;
        return 1;
    }

    const double inputValue = std::stod(argv[1]);
    std::cout << inputValue << std::endl;
    return 0;
}

int main(int argc, char **argv) {

    if (argc < 2) {
        // report version
        std::cout << argv[0] << " Version " << Tutorial_VERSION_MAJOR << "."
                  << Tutorial_VERSION_MINOR << std::endl;
        std::cout << "Usage: " << argv[0] << " number" << std::endl;
        return 1;
    }

    const double inputValue = std::stod(argv[1]);
#ifdef USE_MYMATH
    const double outputValue = mysqrt(inputValue);
#else
    const double outputValue = sqrt(inputValue);
#endif
  std::cout<< inputValue << " is " << outputValue << std::endl;
  return 0;
}